package persistent.impl;

import java.util.List;

import basic.HibBaseDAO;
import model.TFrontUser;
import persistent.dao.FrontUserDAO;

/**
 * 网站前端用户业务类接口的实现
 * @author djf
 * @since 2018/12/12
 */
public class FrontUserImpl implements FrontUserDAO {

	private HibBaseDAO dao=null;

	public FrontUserImpl() {
		dao=new HibBaseDAO();
	}

	/**
	 * 添加一个网站前端用户
	 * @param frontuser 前端用户对象
	 * @return 成功返回true，失败返回null
	 */
	@Override
	public boolean addFrontUser(TFrontUser frontuser) {
		int row=dao.insert(frontuser);
		if(row>0){
			return true;
		}else{
			return false;
		}
	}

	/**
	 * 删除一个网站前端用户
	 * @param username 用户名
	 * @return 成功返回true，失败返回null
	 */
	@Override
	public boolean deleteFrontUser(String username) {
		return dao.delete(TFrontUser.class, username);
	}

	/**
	 * 修改一个网站前端用户信息
	 * @param frontuser 前端用户对象
	 * @return 成功返回true，失败返回null
	 */
	@Override
	public boolean updateFrontUser(TFrontUser frontuser) {
		TFrontUser frontuser2=(TFrontUser)dao.findById(TFrontUser.class,
				frontuser.getUsername());
		frontuser2.setRealname(frontuser.getRealname());
		frontuser2.setSex(frontuser.getSex());
		frontuser2.setPhone(frontuser.getPhone());
		frontuser2.setBirthday(frontuser.getBirthday());
		return dao.update(frontuser2);
	}

	/**
	 * 根据用户id得到一个前端用户对象
	 * @param username 用户名
	 * @return 成功返回TFrontUser对象，失败返回null
	 */
	@Override
	public TFrontUser getATFrontUser(String username) {
		return (TFrontUser)dao.findById(TFrontUser.class, username);
	}
	/**
	 * 根据查询条件得到TFrontUser列表
	 * @param strwhere 查询条件
	 * @return 成功返回TFrontUser列表，失败返回null
	 */
	@Override
	public List<TFrontUser> getFrontUserList(String strwhere) {
		String hql="from TFrontUser "+strwhere;
		return dao.select(hql);
	}

	/**
	 * 根据查询条件得到TFrontUser列表(带分页)
	 * @param strwhere 查询条件
	 * @param currentPage 当前页
	 * @param pageSize 每页数
	 * @return 成功返回TFrontUser列表，失败返回null
	 */
	@Override
	public List<TFrontUser> getFrontUserList(String strwhere, int currentPage,
			int pageSize) {
		String hql="from TFrontUser "+strwhere;
		return dao.selectByPage(hql, currentPage, pageSize);
	}

}
